import control    #pip install control
import matplotlib.pyplot as plt
import numpy as np
K = 8
sys = control.tf(K, 1)  # 系统传递函数
# 创建时间向量
t = np.linspace(0, 10, 1000)
# 单位阶跃输入 u(t): 对于所有 t >= 0, u(t) = 1
u = np.ones_like(t)
# 使用 forced_response 获取系统在单位阶跃输入下的响应
T, yout= control.forced_response(sys, T=t, U=u)
# 绘制阶跃响应
plt.figure()
plt.title("System Response to a Step Input")  # 设置图表标题
plt.plot(T, yout, label="System response (K=%.1f)" % K)  # 系统响应
# 绘制输入的阶跃信号
plt.plot(T, u, label='Step input', linestyle='--')  # 阶跃输入信号
plt.xlabel('Time (s)')
plt.ylabel('Response')
plt.legend(loc='best')  # 图例位置
plt.grid(True)
plt.show()

